--- title: fastproaudio core keywords: fastai sidebar: home_sidebar summary: "API details." description: "API details." nb_path: "00_core.ipynb" ---
Some audio data urls:
URLs.AUDIOMDPI = 'https://zenodo.org/record/3562442'
URLs.MARCO = URLs.AUDIOMDPI # just a shorthand alias I'm more likely to remember
URLs.SIGNALTRAIN_LA2A_1_1 = 'https://zenodo.org/record/3824876'
URLs.SIGNALTRAIN_LA2A_REDUCED = 'http://hedges.belmont.edu/data/SignalTrain_LA2A_Reduced.tgz'
print(URLs.MARCO)
print(zenodo_url_to_data_url(URLs.MARCO))
print(URLs.SIGNALTRAIN_LA2A_1_1)
print(zenodo_url_to_data_url(URLs.SIGNALTRAIN_LA2A_1_1))
Try downloading a sample .tgz file
path_st = get_audio_data(URLs.SIGNALTRAIN_LA2A_REDUCED)
path_st
And try downloading from a Zenodo URL:
path_audiomdpi = get_audio_data(URLs.MARCO)
path_audiomdpi
Let's use this data as an example and take a look at it:
path_audiomdpi.ls()
We'll grab the LeslieHorn subset
horn = path_audiomdpi / "LeslieHorn"; horn.ls()
path_dry = horn /'dry'
#path_trem = horn / 'tremolo'
audio_extensions = ['.m3u', '.ram', '.au', '.snd', '.mp3','.wav']
fnames_dry = get_files(path_dry, extensions=audio_extensions)
waveform, sample_rate = torchaudio.load(fnames_dry[0])
Let's take a look at it:
show_audio(waveform, sample_rate)
show_audio(waveform, sample_rate, info=False, play=False, plots=['melspec'], ref=1)
Let's make a multi-channel tensor and plot it:
num_channels = 5
n = waveform.shape[-1]*num_channels
waveform2 = torch.zeros((num_channels,n))
for c in range(num_channels):
start = int(np.random.rand()*waveform.shape[-1]*(num_channels-1))
waveform2[c, start:start+waveform.shape[-1]] = waveform[0]
show_audio(waveform2, sample_rate)